package com.settlement.system.mapper;

import com.settlement.system.model.entity.common.TblUnificationBillSummary;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * 统一账单明细汇总 Mapper 接口
 * @author xiaochuan
 * @since 2021-01-20
 */
public interface TblUnificationBillSummaryMapper extends BaseMapper {
    /**
     * 获取合计
     *
     * @param params 请求参数
     * @return
     */
    TblUnificationBillSummary getFoot(@Param("params") Map<String, Object> params);

    Integer selectByNotCreateUserAndBySummaryIdList(@Param("params") Map<String, Object> params);

    Integer selectByNotEditorName(@Param("params") Map<String, Object> params);

    Integer selectCountNcSummaryByCondition(@Param("params") Map<String, Object> params);

    Integer selectCountUsedInCost(@Param("params") Map<String, Object> params);

    List<String> selectSummayId(@Param("params") Map<String, Object> params);

    List<String> selectNoNcSummaryByCondition(@Param("params") Map<String, Object> params);

    Integer deleteUnificationBillSummaryBySummaryIdList(@Param("list")List <String>summaryIdList);

    Integer updateAccountStatus(@Param("updateStatus") String updateStatus,
                                @Param("updateUser") String updateUser,
                                @Param("params") Map<String, Object> params);

    Integer updateShareStatus(@Param("updateStatus") String updateStatus,
                                       @Param("updateUser") String updateUser,
                                       @Param("params") Map<String, Object> params);

    Integer updateUpdateUserAndTime(@Param("updateUser") String updateUser,
                              @Param("updateTime") String updateTime,
                              @Param("params") Map<String, Object> params);

    List<String> selectShareStatus(@Param("params") Map<String, Object> params);

    List<String> selectAccountStatusOfCostShare(@Param("params") Map<String, Object> params);


}

